package regex;

import org.junit.Test;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * 正则表达式-边界匹配
 * <p>
 * POSIX character classes (US-ASCII only)和边界匹配
 *
 * @author guodd
 * @version 3.0
 */
public class MainRegex05 {
    public static void main(String[] args) {
        // POSIX character classes，时Unix标准
        System.out.println("a".matches("\\p{Lower}"));
        // 以什么开头的
        System.out.println("hello world".matches("^h.*"));
        // 以什么结尾的
        System.out.println("hello world".matches(".*ld$"));
        System.out.println(" ".matches("."));
        // \\b单词的边界
        System.out.println("hello world".matches("^h[a-z]{1,3}o\\b.*"));
        System.out.println("helloworld".matches("^h[a-z]{1,3}o\\b.*"));
    }

    @Test
    public void info() {
        // 小浪底水库
        Pattern pattern = Pattern.compile(".*水库");
        String s = "小浪底水库,4月12日17时至4月16日18时,下泄流量100m3/s,签发人苏茂林,核稿人魏向阳,邮件发送至苏茂林,魏向阳";
        Matcher matcher = pattern.matcher(s);
        while (matcher.find()) {
            System.out.println(matcher.group());
        }
    }
}
